Radial Metrics#

Radial metrics#

In our implementation, ‘radial metrics’ are defined as any metric that relates a point with the left ventricle’s longitudinal axis. In a clinical setting, these metrics are used to compute radial shortening and radial strain. However, it is often unclear how to proper establish its calculation as different reference points related to the longitudinal axis can be selected. For instance, we can use a ‘center’ point located at a specified ‘height’ of the longitudinal axis and compute the vector length from this reference to a point on the endocardium surface. On the other hand, we can compute the perpendicular distance between a point on the endocardium and the longitudinal axis. With this in mind, we provided two distinct metrics for radial measurements: ‘Radial Distance’ and ‘Radial Length’.

In addition, our implementation consider the usage of Speckles, which helps to approximate a clinical setting, facilitates the computation for certain metrics and helps to minimizing errors due to noise in geometry by averaging values based on local regions. See docs for details.

Radial Distance#

Definition: Perpendicular distance from a given point to normal vector (defined from longitudinal line)

The ‘Radial distance’ is computed as the perpendicular distance (shortest euclidean distance) between a point (based on speckles) at a given region of the geometry and the longitudinal axis. Considering tha such axis is aligned with the Z axis, this metric can be thought as the ‘2D radius’ from a top view (xy plane). Here is an example:

[2]:
sample_spk = lv_ideal.get_speckles(spk_name="SAMPLE", spk_group="epi", spk_collection="SAMPLE")[0]
timestep = 0.0
[3]:
rd = lv_ideal.plot_speckles_radial_distances(sample_spk, t=timestep)
[4]:
rds = lv_ideal.radial_distance(sample_spk,
                       recompute=True,
                       log_level=logging.WARN,
                       approach="moving_vector",
                       t=timestep
                       )
INFO:LV.BaseMetricsComputations:Computing metric 'LV_STATES.RADIAL_DISTANCE'
[5]:
rd, rds
[5]:
(34.94247754222283, 34.94247754222283)

Radial Length#

Definition:

[6]:
sample_spk = lv_ideal.get_speckles(
    spk_name="SAMPLE", spk_group="epi", spk_collection="SAMPLE")[0]
rd = lv_ideal.plot_speckles_radial_lengths(sample_spk, t=1.0)

Thinner speckles, better results#

[7]:
circ_spks = lv_ideal.get_speckles(spk_name="base", spk_collection="circ-6")
rd = lv_ideal.plot_speckles_radial_lengths(circ_spks[-1], t=1.0)